Although varied in scope and implementation, knowledge management systems generally intend to distribute knowledge across an organization, by identifying and codifying knowledge, and/or by identifying and connecting the persons who are most knowledgeable about particular subjects. In particular, knowledge management systems are typically computer implemented, database driven systems that store discrete elements of knowledge in a computer interpretable format so that the organization's knowledge can be refined and disseminated into various contexts as need arises. Typically, knowledge management systems provide decision support to the end-user who requires the expertise of others. In engineering contexts, this decision support may take the form of assisting in certain aspects of product design and manufacturing process design.
By way of example, the field of knowledge-based engineering (KBE) integrates knowledge management systems with computer-aided design (CAD) and computer-aided engineering (CAE) systems. For example, knowledge that is codified in the knowledge management system may be applied to a three-dimensional model of a product to dynamically apply or change parameters that are utilized to define or alter aspects of the three-dimensional product model in the CAD system.
In previous knowledge management systems, it is typical for a task to be analyzed or controlled by a knowledge management system according to a predefined template that is developed to work with a specific software package. Such templates have rules encoded therein that establish the parameters that must be supplied by the user to allow processing by the knowledge management system. In other words, the software package used must be provided, in advance, with knowledge regarding the processing that will be performed by the knowledge management system. For example, if a CAD system that is being used to design a product and a knowledge management system is validating the product design to ensure compliance with design standards, the template used by the CAD system is typically structured in advance to collect data necessary to perform the desired validation testing, and changes to the tests performed could require revision of the template. Thus, these systems are inflexible, as the templates must be updated to allow changes to the desired validation testing or other activity performed by the rule service. Accordingly, need exists for improvement in the manner in which rule services interface with client systems in knowledge management systems.